#ifndef _GETFACEVIACAMERA_
#define _GETFACEVIACAMERA_
#include <opencv2/opencv.hpp>

class FaceMatProcessor {
    public:
        virtual ~FaceMatProcessor() = 0;                //must(virtual = 0)
        virtual int process(cv::Mat &, std::vector<std::string> &args) = 0; //must ....
        virtual int processOriginal(cv::Mat &orig, std::vector<std::string> &args) = 0;
}; 

FaceMatProcessor::~FaceMatProcessor() {}    //pure virtual destructor must be defined

typedef FaceMatProcessor *creatFaceMatProcessor(void);
typedef void destroyFaceMatProcessor(FaceMatProcessor *);

#endif
